<script>
	export default {
		globalData: {
			// 订单信息
			order: {
				// 我的地址ID
				myAddressId: '',
				// 是否手动选择过优惠券
				isHasChooseCoupon: 0,
				// 我的优惠券ID
				myCouponId: ''
			},
			// 场景值，现微信小程序有该参数
			scene: ''
		},

		onLaunch: function(e) {
			console.log('App Launch')

			let userAgent = this.cn.userAgent()
			console.log('当前代理器：' + userAgent)

			//（小程序环境）更新小程序版本
			// #ifdef MP
			// 朋友圈内打开“单页模式”，不能调取该方法
			if (e.scene != 1154) {
				this.cn.update.checkUpdate()
			}
			// #endif

			// #ifdef APP-PLUS
			// uniPush2.0
			uni.onPushMessage((res) => {
				console.log('启动监听推送消息事件', res)
				// 点击事件
				if (res.type == 'click') {
					let payloadText = res.data.payload.text
					let arr = payloadText.split("_")

					// 秒杀提醒 -- 跳转对应秒杀详情
					if (arr[0] == 'spikenotice') { //秒杀
						setTimeout(res => {
							uni.navigateTo({
								url: 'pages/mall/spike/detail?id=' + arr[1]
							});
						}, 500)
					}
				}
			})

			// 监听返回键  安卓机型TABBAR页面点击2次返回退出应用
			this.cn.listenBackButtonQuitApp([
				'pages/mall/index',
				'pages/mall/category',
				'pages/mall/cart',
				'pages/mine/index'
			])

			// uniPush1.0 监听接收透传消息事件  ios需要开发者手动在receive透传回调中创建通知，安卓UniPush推送服务对透传消息的数据特定格式时做了特殊处理，监听不到该事件
			// plus.push.addEventListener('receive', (msg) => {
			// 	console.log('receive', msg)
			// 	// if (this.cn.platform == 'ios') { //如果是IOS    
			// 		//【APP离线】收到消息，但没有提醒（发生在一次收到多个离线消息时，只有一个有提醒，但其他的没有提醒）
			// 		//【APP在线】收到消息，不会触发系统消息,需要创建本地消息，但不能重复创建。必须加msg.type验证去除死循环
			// 		if (msg.aps) { // Apple APNS message  
			// 			//APNS下发的消息，应用在前台  
			// 		} else if ('LocalMSG' == msg.payload) { // 特殊payload标识本地创建的消息  
			// 			//本地创建的消息，通常不需要处理  
			// 			//注意：不要在这种情况下再此调用plus.push.createMessage，从而引起循环创建本地消息  
			// 		} else {
			// 			//  接收到在线透传消息  
			// 			// 创建本地消息，并添加到系统消息中心。发送的本地消息也会被receive方法接收到，但没有type属性，且aps是null
			// 			plus.push.createMessage(msg.content, msg.payload, {
			// 				title: msg.title
			// 			})
			// 		}
			// 	// }
			// }, false)

			// uniPush1 监听系统通知栏消息点击事件  
			// plus.push.addEventListener('click', function(msg) {
			// 	console.log('click', msg)
			// 	// 处理点击消息的业务逻辑代码  
			// 	let payloadArr = msg.payload.split("_")

			// 	// 秒杀提醒 -- 跳转对应秒杀详情
			// 	if (payloadArr[0] == 'spikenotice') { //秒杀
			// 		setTimeout(res => {
			// 			uni.navigateTo({
			// 				url: 'pages/mall/spike/detail?id=' + payloadArr[1]
			// 			});
			// 		}, 500)
			// 	}
			// }, false)
			// #endif

			// #ifdef H5
			if (userAgent == 'weixin') {
				// 注册微信JSSDK所有方法
				this.wx.setConfig()
			}
			// #endif
		},

		onShow: function(e) {
			console.log('App Show')

			// #ifdef APP-PLUS
			setTimeout(function() {
				// 当其它三方App通过scheme启动App时，可以通过plus.runtime.arguments获取完整的urlscheme字符串
				let args = plus.runtime.arguments
				// args = 'https://tp-universal.jucheng01.net/h5toapp?id=8'
				console.log('--监听第三方渠道打开APP事件 接收到的参数--', args)

				if (args) {
					let param = new Object()

					try {
						// 处理JSON对象aj
						param = JSON.parse(args)

						// 若传入的参数不是JSON格式字符，需处理异常情况（一般为通过URL Scheme调用）
					} catch (e) {

						// 以//分割字符串
						let paramStrArr = args.split("//")

						// 没有传参数，不进行下面的操作
						if (paramStrArr.length <= 1) {
							return false
						}

						// 获取参数
						let paramStr = paramStrArr[1]

						// 以&分割多个参数
						let jsonStr = paramStr.split("&") //多个参数组

						// 组合参数数组
						jsonStr.forEach((val, index) => {
							let arr = val.split("=")
							param[arr[0]] = arr[1]
						})

						//根据不同的类型不同的参数进行不同的操作
						if (param.hasOwnProperty('type') && param.type == 'abc') {
							console.log('--matched--')
						}
					}
				}

			}, 1000);
			// #endif
		},

		onHide: function() {
			// console.log('App Hide')
		}
	}
</script>

<style>
	/* 汇总了自定义样式,自定义边框,自定义icon */
	@import url('components/colorui/main.css');
	@import url('components/colorui/icon.css');
	/* 每个页面公共css */
	@import url('components/hzjc/style/common.css');
	@import url('components/hzjc/iconfont1/iconfont.css');
	/* .flex{
		display: flex;
		flex-wrap: wrap;
	} */
	.y_center{
		display: flex;
		flex-direction: column;
		align-items: center;
		/* justify-content: center; */
	}
	/* 两端对齐 */
	.flex_lr{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	/* 平均分布 */
	.flex_pj{
		display: flex;
		justify-content: space-around;
		align-items: center;
	}
	/* 上下两端 */
	.flex_ud{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	/* 中心对齐 */
	.flex_center{
		display: flex;
		justify-content:center;
		align-items: center;
	}
	.flex_row {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
</style>
